package cc.rengu.igas.bsps.common.dao;

import cc.rengu.igas.bsps.common.entity.MchntKeyInfo;

import java.util.List;

/**
 * 商户密钥信息表操作接口类
 * Created by 王成 on 2020/3/25
 */
public interface BspsMchntKeyInfoMapper {
    /**
     * 登记商户密钥信息
     *
     * @param mchntKeyInfo 商户密钥信息
     * @return 0-成功，其它-失败
     * @throws Exception 异常
     */
    int insertBspsMchntKeyInfo(MchntKeyInfo mchntKeyInfo) throws Exception;

    /**
     * 更新商户密钥信息
     *
     * @param mchntKeyInfo 商户密钥信息
     * @return 0-成功，其它-失败
     * @throws Exception 异常
     */
    int updateBspsMchntKeyInfoById(MchntKeyInfo mchntKeyInfo) throws Exception;

    /**
     * 根据非业务主键查询商户密钥信息
     *
     * @param instId 多法人标识
     * @param id     非业务主键
     * @return 商户密钥信息
     * @throws Exception 异常
     */
    MchntKeyInfo selectBspsMchntKeyInfoById(String instId, String id) throws Exception;

    /**
     * 根据主键查询商户密钥信息
     *
     * @param instId  多法人标识
     * @param mchntNo 商户号
     * @param appId   应用标识
     * @param keyType 密码类型
     * @return 商户密钥信息
     * @throws Exception 异常
     */
    MchntKeyInfo selectBspsMchntKeyInfoByPrimaryKey(String instId, String mchntNo, String appId, String keyType) throws Exception;

    /**
     * 根据商户号查询商户密钥信息
     *
     * @param instId  多法人标识
     * @param mchntNo 商户号
     * @return 商户密钥信息
     * @throws Exception 异常
     */
    List<MchntKeyInfo> selectBspsMchntKeyInfoByMchntNo(String instId, String mchntNo) throws Exception;
}
